/* Table of Content
==================================================
	#Links
	#Headings
	#Buttons
	#Lists
	#Thumbnails
	#Forms
	#Social Links
	#Tabs
	#Tables
	#Accordion
	#Call to Action
	#Icon Box
	#Blockquotes & Testimonial
	#Alerts
	#Dropcaps
	#Pricing Tables
	#Progress Bars
	#Misc
		- Rules
		- Spacers
		- Helpers
		- etc.
*/

// Variables
@import "color-vars.less";


/*
// #Links
// --------------------------------------------------
*/
a {
	color: @link-color;
	text-decoration: none;

	&:hover {
		color: @link-color-hover;
		text-decoration: underline;
	}
}

/*
// #Headings
// --------------------------------------------------
*/

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
	font-family: 'Lato', sans-serif;
	font-weight: normal;
	line-height: 1.2em;
	margin: 0 0 1em 0;
	color: @theme-color2;

	small,
	.small {
		color: #bfbfbf;
		font-size: 14px;
		font-style: italic;
		font-weight: 300;
	}

	.fa {
		margin-right: 5px;
	}

	&.with-subtitle {

		small {
			border-left: 1px solid #e0e0e0;
			padding-left: 15px;
			margin-left: 15px;
		}
	}
}

h1, .h1 {
	font-size: 32px;
	margin-bottom: .75em;
}
h2, .h2 {
	font-size: 24px;
}
h3, .h3 {
	font-size: 20px;
}
h4, .h4 {
	font-size: 18px;
}
h5, .h5 {
	font-size: 16px;
}
h6, .h6 {
	font-size: 14px;
}

p {
	margin: 0 0 1.5em 0;
}

.title-accent {
	padding-top: 5px;

	> h3 {

		> span {
			font-size: 30px;
		}
	}
	.section-dark & {

		> h3 {
			color: #fff;

			> span {
				color: @theme-color1;
			}
		}
	}
}
.title-centered {
	text-align: center;

	> h2 {
		font-size: 28px;
		margin-bottom: 1.2em;
	}
}

// Title Bordered
// -------------------------
.title-bordered {
	text-align: center;
	margin-bottom: 35px;
	.clearfix();

	h2 {
		position: relative;
		display: block;
		overflow: hidden;
		padding-bottom: 20px;
		margin: 0;
		text-transform: uppercase;
		white-space: nowrap;

		small {
			display: block;
			position: absolute;
			bottom: 0;
			left: 0;
			width: 100%;
			text-align: center;
			color: #b5b5b5;
			font-style: normal;
		}

		.line {
			position: relative;
			display: inline-block;
			width: 50%;
			height: 1px;
			vertical-align: middle;
			background: #e0e0e0;
			background-clip: content-box;

			&:before {
				content:"";
				display: block;
				position: absolute;
				width: 11px;
				height: 11px;
				border-radius: 50%;
				background: #e0e0e0;
				margin-top: -5px;
			}
		}

		.line__left {
			left: -1em;
			margin: 0 0 0 -50%;

			&:before {
				right: 0;
			}
		}

		.line__right {
			left: 1em;
			margin: 0 -50% 0 0;

			&:before {
				left: 0;
			}
		}
	}
}


/*
// #Buttons
// --------------------------------------------------
*/

// Common styles
.btn-default,
.btn-primary,
.btn-success,
.btn-info,
.btn-warning,
.btn-danger {
	@shadow: inset 0 -3px 0 rgba(0,0,0,.06), 2px 3px 0 rgba(0,0,0,.05);
	border-color: transparent;
	.box-shadow(@shadow);

	// Reset the shadow
	&:active,
	&.active {
		.box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
	}
}

// Mixin for generating new styles
.btn-styles(@btn-color: #555) {
	background: @btn-color;
	.reset-filter(); // Disable gradients for IE9 because filter bleeds through rounded corners

	&:hover,
	&:focus  {
		border-color: transparent;
		background-color: darken(@btn-color, 5%);
	}

	&:active,
	&.active {
		background-color: darken(@btn-color, 5%);
		border-color: transparent;
		@shadow: inset 0 3px 0 rgba(0,0,0,.12);
		.box-shadow(@shadow);
	}
}

// Common styles
.btn {
	// Remove the gradient for the pressed/active state
	&:active,
	&.active {
		background-image: none;
	}
}

// Apply the mixin to the buttons
.btn-default { .btn-styles(#ebebeb)};
.btn-primary { .btn-styles(@theme-color3); }
.btn-success { .btn-styles(@theme-color1); }
.btn-info    { .btn-styles(#dfeffe); }
.btn-warning { .btn-styles(#ffb71a); }
.btn-danger  { .btn-styles(#dc2a0b); }

.btn-default {
	@shadow: inset 0 -3px 0 rgba(0,0,0,.06);
	.box-shadow(@shadow);
}
.btn-info {
	color: #0e7dc2;
	@shadow: inset 0 -3px 0 rgba(0,0,0,.06);
	.box-shadow(@shadow);

	&:hover,
	&:focus  {
		color: #0e7dc2;
	}
}
.btn-danger {
	background: #dc2a0b;
}

// Button sizes
.btn-sm {
	@shadow: inset 0 -2px 0 rgba(0,0,0,.12);
	.box-shadow(@shadow);

	&:active,
	&.active {
		@shadow: inset 0 2px 0 rgba(0,0,0,.12);
		.box-shadow(@shadow);
	}
}

// Buttons with Icons
.btn {

	.fa,
	.entypo,
	.entypo-social {
		margin-right: 5px;
	}
}

.btn-lg {

	.fa,
	.entypo,
	.entypo-social {
		margin-right: 10px;
	}
}

.btn {

	.fa-right {
		margin: 0 0 0 8px;
	}
}



/*
// #Lists
// --------------------------------------------------
*/
div.list {
	overflow: hidden;

	ul {
		.list-unstyled();
		margin-bottom: 1.5em;

		li {
			position: relative;
			padding: 0 0 8px 20px;

			&:before {
				position: absolute;
				top: 0;
				left: 0;
				display: block;
				content:"\f105";
				font-family: 'FontAwesome';
				font-size: 14px;
				color: @theme-color1;
				margin-right: 10px;
				font-style: normal;
				font-weight: normal;
				-webkit-font-smoothing: antialiased;
				-moz-osx-font-smoothing: grayscale;
			}
		}
	}

	&.list__lg {
		font-size: 14px;

		ul {

			li {
				padding: 4px 0 25px 50px;

				&:before {
					width: 28px;
					height: 28px;
					border: 1px solid @theme-color1;
					border-radius: 2px;
					text-align: center;
					line-height: 26px;
					content:"\f00c";
				}
			}
		}
	}

	ol {
		.list-unstyled();
		margin-bottom: 1.5em;
		counter-reset: counter;

		li {
			position: relative;
			padding: 0 0 8px 20px;

			&:before {
				display: inline-block; /* block would also work */
				position: absolute; /* move this out of the way of the text*/
				left: 0; /* move the counter labe into the space from the padding */
				content: counter(counter) ". ";
				counter-increment: counter;
				font-weight: bold;
				width: 20px;
				color: #dcdcdc;
			}
		}
	}

	/* List Styles */
	&.list__arrow2 {

		ul li {

			&:before {
				content:"\f18e";
			}
		}
	}
}

.dl-horizontal {
	dt {
		width: 90px;
		padding-right: 10px;
		text-align: left;
		font-weight: 300;
		color: @theme-color2;
		padding-bottom: 10px;
	}
	dd {
		margin-left: 100px;
		padding-bottom: 10px;
	}

	@media (max-width: 768px) {
		dt {
			width: auto;
			padding-bottom: 0;
		}
		dd {
			margin-left: 0;
		}
	}
}



/*
// #Thumbnails
// --------------------------------------------------
*/

// Mixin and adjust the regular image class
.thumbnail {
	padding: 6px;
	background-color: #fff;
	border: 1px solid #ebebeb;
	border-radius: 6px;
	.transition(all .2s ease-in-out);

	img {
		.img-responsive();
		margin-left: auto;
		margin-right: auto;
	}

	// Add a hover state for linked versions only
	a&:hover,
	a&:focus,
	a&.active {
		border-color: darken(#ebebeb, 5%);
	}

  // Image captions
  .caption {
		color: @theme-color2;
  }
}
.alignleft,
.alignright,
.alignnone,
.aligncenter {
	text-align: center;

	img {
		padding: 6px;
		background-color: #fff;
		border: 1px solid #ebebeb;
		border-radius: 6px;
		.transition(all .2s ease-in-out);
		max-width: 100%;
		height: auto;

		@media (max-width: 767px) {
			float: none !important;
			margin: 0 auto;
		}
	}

	@media (max-width: 767px) {
		.clearfix();
	}

	.img-circle {
		border-radius: 50%;
	}

	// @media (min-width: 768px) {
	// 	text-align: left;
	// }
}
.alignleft img {
	float: left;
	margin: 0 20px 10px 0;
}
.alignright img {
	float: right;
	margin: 0 0 10px 20px;
}
.aligncenter {
	display: block;
	text-align: center;

	img {
		margin: 0 auto 20px auto;
	}
}
.alignnone img {
	margin: 0 0 20px 0;
}

.hovered-img {
	border: 1px solid transparent;
	border-radius: 6px;
	padding: 5px;
	.transition(.2s);

	img {
		max-width: 100%;
		height: auto;
	}

	&:hover {
		background: #fff;
		border-color: #ebebeb;
	}
}

/* Image Box (used on Home Page) */
.img-box {
	position: relative;
	text-align: center;
	overflow: hidden;

	&:before {
		content:"";
		display: block;
		position: absolute;
		left: 50%;
		top: 0;
		border-radius: 50%;
		background: @theme-color1;
		width: 240px;
		height: 240px;
		margin: 0 0 0 -120px;
		z-index: 1;

		@media (min-width: 480px) {
			width: 360px;
			height: 360px;
			margin: 0 0 0 -180px;
		}
	}

	&:after {
		content:"";
		display: block;
		position: absolute;
		left: 50%;
		top: 40px;
		border-radius: 50%;
		background: rgba(255,255,255,.25);
		width: 200px;
		height: 200px;
		margin: 0 0 0 -100px;
		z-index: 1;

		@media (min-width: 480px) {
			width: 316px;
			height: 316px;
			margin: 0 0 0 -158px;
			top: 50px;
		}
	}

	img {
		display: inline-block;
		position: relative;
		z-index: 2;
		max-width: 85%;
		height: auto;

		@media (min-width: 768px) {
			max-width: 100%;
		}
	}
}

/* Video Holder */
.video-holder {
	padding: 6px;
	background-color: #fff;
	border: 1px solid #ebebbe;
	border-radius: 0;
	.transition(all .2s ease-in-out);
	max-width: 100%;
	height: auto;
	border-radius: 6px;
}


/*
// #Social Links
// --------------------------------------------------
*/
.social-links-txt {
	display: none;
	margin-right: 12px;

	@media (min-width: 768px) {
		display: inline-block;
	}
}
.social-links {
	.list-unstyled();
	.list-inline();
	margin: 0;

	> li {
		display: inline;
		vertical-align: top;
		display: inline-block;
		padding: 0;

		> a {
			display: inline-block;
			text-align: center;
			font-size: 18px;
			width: 28px;
			height: 28px;
			line-height: 28px;
			text-align: center;
			color: @theme-color2;
			.transition(.2s);
			margin: 0 2px;

			&:hover {
				background: @theme-color1;
				color: #fff;
				.transition(none);
			}
		}
	}
}

// Social Links Dark (used in the Footer by default)
.social-links__dark {

}
.social-links__light {

	> li {

		> a {
			color: #c7c7c7;

			&:hover {
				color: #fff;
			}
		}
	}
}

.social-links__primary {
	
	> li {

		> a {
			background: @theme-color1;
			border: 1px solid @theme-color1;
			color: #fff;

			&:hover {
				background: #fff;
				border-color: #fff;
				color: @theme-color1;
				.transition(.2s);
			}
		}
	}
}


/*
// #Forms
// --------------------------------------------------
*/

label {
	display: inline-block;
	margin-bottom: 5px;
	color: @theme-color2;
	font-weight: normal;
}

.form-control {
	background-color: #fff;
	border: 1px solid #ebebeb;
	.box-shadow(inset 0 1px 1px rgba(0,0,0,.075));
	.form-control-focus(@theme-color1);
	.box-shadow(none);
	padding-left: 18px;
	padding-right: 18px;

	
}

.form-group {
  margin-bottom: 20px;

  &.form-grop__icon {
		position: relative;

		.entypo,
		.fa {
			display: block;
			position: absolute;
			right: 12px;
			top: 7px;
			font-size: 34px;
		}
		input[type="text"],
		input[type="email"],
		input[type="password"],
		input[type="tel"],
		input[type="url"],
		textarea {
			padding-right: 40px;
		}
	}
}

.required {
	color: #e74c3c;
}
label.error {
	color: #a94442;
}

.select-style {
	display: block;
	border: 1px solid #ebebeb;
	width: 100%;
	border-radius: 6px;
	overflow: hidden;
	background-color: #fff;
	position: relative;

	&:after {
		content:"\f0dd";
		display: block;
		position: absolute;
		right: 15px;
		top: 8px;
		font-family: 'FontAwesome';
		font-size: 14px;
		color: #8c8c8c;
		font-style: normal;
		font-weight: normal;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
	}
}

.select-style select {
	padding: 5px 16px;
	width: 100%;
	border: none;
	.box-shadow(none);
	background-color: transparent;
	background-image: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.select-style select:focus {
	outline: none;
}

/* Radio Button */
.radio__custom {

	label {  
		display: inline-block;
		cursor: pointer;
		position: relative;
		padding-left: 5px;

		&:before {
			position: absolute;
			top: 3px;  
			left: -20px;  
			display: inline-block;  
			margin-right: 10px;
			width: 18px;  
			height: 18px;
			border: 1px solid #ebebeb;
			border-radius: 50%;
			background-color: #fff;
			content: "";  
		}
	}
	input[type="radio"] {  
		display: none;

		&:checked + span:before {
			position: absolute;
			top: 8px;
			left: -15px;
			display: block;
			width: 8px;
			height: 8px;
			border-radius: 50%;
			background: @theme-color1;
			content: "";
		}
	}

	// Style2
	&.radio__style2 {

		label {

			&:before {
				background: @theme-color1;
				border-color: darken(@theme-color1, 5%);
			}
		}

		input[type="radio"] {

			&:checked + span:before {
				background: #fff;
			}
		}
	}

	// Style3
	&.radio__style3 {

		input[type="radio"] {

			&:checked + span:before {
				background: @theme-color2;
			}
		}
	}

	// Style4
	&.radio__style4 {

		label {

			&:before {
				border-color: @theme-color1;
			}
		}

		input[type="radio"] {

			&:checked + span:before {
				background: @theme-color1;
			}
		}
	}
}

/* Checkbox */
.checkbox__custom {

	label {  
		display: inline-block;
		cursor: pointer;
		position: relative;
		padding-left: 5px;

		&:before {
			position: absolute;
			top: 3px;  
			left: -20px;  
			display: inline-block;  
			margin-right: 10px;
			width: 18px;  
			height: 18px;
			border: 1px solid #ebebeb;
			background-color: #fff;
			content: "";  
		}
	}
	input[type="checkbox"] {  
		display: none;

		&:checked + span:before {
			position: absolute;
			top: 0;
			left: -18px;
			display: block;
			content: "";

			content:"\f00c";
			font-family: 'FontAwesome';
			font-size: 14px;
			color: @theme-color1;
			font-style: normal;
			font-weight: normal;
			-webkit-font-smoothing: antialiased;
			-moz-osx-font-smoothing: grayscale;
		}
	}

	// Style2
	&.checkbox__style2 {

		label {

			&:before {
				background: @theme-color1;
				border-color: darken(@theme-color1, 5%);
			}
		}

		input[type="checkbox"] {

			&:checked + span:before {
				color: #fff;
			}
		}
	}

	// Style3
	&.checkbox__style3 {

		input[type="checkbox"] {

			&:checked + span:before {
				color: @theme-color2;
			}
		}
	}

	// Style4
	&.checkbox__style4 {

		label {

			&:before {
				border-color: @theme-color1;
			}
		}

		input[type="checkbox"] {

			&:checked + span:before {
				color: @theme-color1;
			}
		}
	}
}




/*
// #Tabs
// --------------------------------------------------
*/
.tabs {
	
	.nav-tabs {
		border-bottom: none;

		> li {
			margin-bottom: 0;

			@media (max-width: 767px) {
				width: 100%;
				float: none;
				margin-bottom: 2px;

				> a {
					margin-right: 0 !important;
				}

				&.active {

					> a {
						border-bottom: 2px solid #dcdcdc !important;
					}
				}
			}

			> a {
				background: #f2f2f2;
				border-left: 1px solid #f7f7f7;
				border-right: 1px solid #f7f7f7;
				border-bottom: none !important;
				border-radius: 0;
				padding: 12px 20px;
				color: #6d6d6d;
				position: relative;

				&:after {
					content:"";
					display: block;
					position: absolute;
					top: -1px;
					left: -1px;
					right: -1px;
					height: 3px;
				}
				&:before {
					content:"";
					display: block;
					position: absolute;
					bottom: -1px;
					left: 0;
					right: 0;
					height: 1px;
				}

				&:hover {
					border-color: #f7f7f7;
				}

				.fa,
				.entypo {
					margin-right: 6px;
				}
			}

			&.active > a {
				color: @link-color;
				border-left-color: #ebebeb;
				border-right-color: #ebebeb;
				background: #fff;

				&:after {
					background: @theme-color1;
				}
				&:before {
					background: #fff;
				}

				&:hover {
					border-bottom-color: #fff;
				}
			}
		}
	}

	.tab-content {
		padding: 30px 28px;
		border: 1px solid #ebebeb;
		background: #fff;
		.clearfix();

		p:last-child {
			margin-bottom: 0;
		}
	}
}



/*
// #Tables
// --------------------------------------------------
*/
.table {

	> thead {

		> tr {

			> th {
				padding: 14px;
				color: @theme-color2;
				background: @theme-color1;
				border-bottom: none;
				color: #fff;
				font-size: 16px;
				font-weight: 400;
			}
		}
	}

	> tbody {

		> tr {

			> td {
				padding: 14px;
			}
		}
	}
}

.table-bordered {
	border: 1px solid #ebebeb;

	> thead,
	> tbody,
	> tfoot {
		> tr {
		> th,
		> td {
			border: 1px solid #ebebeb;
			}
		}
	}
	> thead > tr {
		> th,
		> td {
			border-bottom-width: 1px;
		}
	}
}

.table-striped {
	> tbody > tr:nth-child(odd) {
		> td,
		> th {
			background-color: #f7f7f7;
		}
	}
}


/*
// #Accordion
// --------------------------------------------------
*/

.panel-group {
	margin-bottom: 0;

	// Tighten up margin so it's only between panels
	.panel {
		border-radius: 3px;

		+ .panel {
			margin-top: 10px;
		}

		&:first-child {
			border-radius: 3px;
		}
		&:last-child {
			border-radius: 3px;
		}
	}

	.panel-heading {
		border-bottom: 0;
		padding: 0;

		+ .panel-collapse .panel-body {
			
		}

	}
	.panel-footer {
		border-top: 0;

		+ .panel-collapse .panel-body {
			
		}
	}

	.panel-title {
		text-transform: none;
		padding: 0;
		border-color: #ebebeb;

		> a {
			display: block;
			padding: 14px 40px 14px 20px;
			color: #fff;
			font-weight: 300;
			background: @theme-color1;
			.transition(.2s);
			position: relative;

			&:before {
				display: block;
   			position: absolute;
   			right: 17px;
   			top: 16px;
				content:"\f068";
				font-family: 'FontAwesome';
				font-size: 14px;
				font-style: normal;
				font-weight: normal;
				line-height: 1;
				-webkit-font-smoothing: antialiased;
				-moz-osx-font-smoothing: grayscale;
				color: #fff;
			}

			&.collapsed {
				color: #6d6d6d;
				background: #fff;
				border-color: #ebebeb;

				&:before {
					color: #c7c7c7;
					content:"\f067";
				}

				&:hover {
					background: darken(#f4f4f4, 3%);
					text-decoration: none;
				}
			}

			&:hover {
				text-decoration: none;
			}
		}
	}

	.panel-body {
		padding: 20px 28px;
		background: #fff;
	}
}

.panel-group__alt {

	.panel-title {

		> a {
			display: block;
			padding: 14px 20px 14px 70px;
			background: #fff;
			color: @theme-color2;

			&:before {
				right: auto;
				left: -1px;
				top: -1px;
				width: 48px;
				line-height: 48px;
				border-radius: 2px;
				text-align: center;
				border: 1px solid #ebebeb;
				background: @theme-color1;
			}

			&.collapsed {

				&:before {
					background: #fff;
					color: #c7c7c7;
					content:"\f067";
				}

				&:hover {
					background: darken(#f4f4f4, 3%);
					text-decoration: none;
				}
			}
		}
	}
}

.panel-default {
	.panel-variant(#ebebeb; #8c8c8c; #fff; #ebebeb);
}



/*
// #Call to Action
// --------------------------------------------------
*/
.call-to-action {
	border: 1px solid #ebebeb;
	background: #fff;
	padding: 40px 30px;
	.clearfix();
	text-align: center;
	display: table;
	width: 100%;

	@media (min-width: 992px) {
		text-align: left;
	}

	.cta-txt {
		display: block;
		margin-bottom: 20px;

		@media (min-width: 992px) {
			display: table-cell;
			margin-bottom: 0;
		}

		p:last-child {
			margin-bottom: 0;
		}
	}
	.cta-btn {
		display: block;
		text-align: center;
		vertical-align: middle;

		@media (min-width: 992px) {
			display: table-cell;
			padding-left: 30px;
		}
	}
	
	h2 {
		text-transform: none;
		margin-bottom: .25em;
	}


	// Centered
	&.centered {
		text-align: center !important;

		.cta-txt {
			display: block;
			margin-bottom: 24px;

			@media (min-width: 992px) {
				display: block;
				width: 100%;
			}
		}
		.cta-btn {
			display: block;
			padding-left: 0;

			@media (min-width: 992px) {
				display: block;
				width: 100%;
			}
		}
	}
}


/*
// #Icon Box
// --------------------------------------------------
*/
.icon-box {
	position: relative;
	margin-bottom: 30px;

	.icon {
		float: left;
		width: 60px;
		height: 60px;
		line-height: 60px;
		margin-right: 30px;
		font-size: 28px;
		text-align: center;
		color: @theme-color1;
		position: relative;
		.transition(0.3s);

		&:before {
			content:"";
			display: block;
			position: absolute;
			width: 100%;
			height: 100%;
			z-index: 2;
			background: #f2f2f2;
			.transition(0.3s);
		}

		&:after {
			content:"";
			display: block;
			position: absolute;
			left: -3px;
			top: -3px;
			bottom: -3px;
			right: -3px;
			z-index: 1;
			.transition(0.3s);
		}

		i {
			position: relative;
			z-index: 2;
		}

		.entypo {
			font-size: 50px;
			margin: -7px 0 0 0;
		}

		.bg-icon {
			display: none;

			@media (min-width: 992px) {
				display: block;
				position: absolute;
				left: 30px;
				top: 0;
				font-size: 140px;
				color: #f7f7f7;
				z-index: -1;
			}
		}
	}
	.icon-box-body {
		overflow: hidden;
		position: relative;
		z-index: 2;

		h3,
		h4 {
			padding-top: 6px;
			margin-bottom: .75em;
		}
	}
	
	// Circled
	&.circled {

		.icon {
			color: @theme-color1;
			border-radius: 50%;

			&:before {
				background: #fff;
				border-radius: 50%;
			}
			&:after {
				border-radius: 50%;
				background: @theme-color1;
			}
		}
	}

	// Squared
	&.squared {

		.icon {
			color: #fff;

			&:before {
				background-color: @theme-color1;
			}
			&:after {
				background: #ebebeb;
			}
		}
	}

	&.bordered {
		
		.icon {
			color: @theme-color1;

			&:before {
				background: #fff;
			}
			&:after {
				background: @theme-color1;
			}
		}
	}

	&.centered {
		text-align: left;

		@media (min-width: 992px) {
			text-align: center;
		}

		.icon {
			margin: 0 30px 20px 0;

			@media (min-width: 992px) {
				float: none;
				margin: 0 auto 25px auto;
			}
		}
	}

	// Boxed
	&.boxed {
		border: 1px solid #dcdcdc;
		background: #fff;
		.box-shadow(0 5px 12px rgba(0,0,0,.06));
		padding: 20px;

		@media (min-width: 992px) {
			padding: 40px;
		}

		.icon {

			&:after {
				left: -6px;
				right: -6px;
				top: -6px;
				bottom: -6px;
			}

			@media (min-width: 992px) {
				width: 100px;
				height: 100px;
				font-size: 42px;
				line-height: 100px;
			}
		}
	}
	
	// Animated
	&.icon-box-animated {

		.no-touch & .icon {

			&:after {
				-webkit-transition: -webkit-transform 0.2s, opacity 0.3s;
				-moz-transition: -moz-transform 0.2s, opacity 0.3s;
				transition: transform 0.2s, opacity 0.3s;
			}

			&:hover {
				color: #fff;

				&:before {
					background-color: @theme-color1;
				}

				&:after {
					.scale(1.3,1.3);
					.opacity(0);
				}
			}
		}
	}

	&.icon-box-animated-inverse {

		.icon {
			color: #fff;

			&:before {
				background: @theme-color1;
			}

			&:after {

			}
		}

		.no-touch & .icon {

			&:after {
				-webkit-transition: -webkit-transform 0.2s, opacity 0.3s;
				-moz-transition: -moz-transform 0.2s, opacity 0.3s;
				transition: transform 0.2s, opacity 0.3s;
			}

			&:hover {
				color: @theme-color1;

				&:before {
					background-color: #fff;
					.box-shadow(0 0 0 3px @theme-color1);
				}

				&:after {
					.scale(1.3,1.3);
					.opacity(0);
				}
			}
		}
	}

	// Small
	&.sm {

		.icon {
			width: 42px;
			height: 42px;
			line-height: 42px;
			font-size: 20px;
			margin-right: 20px;

			&:after {
				left: -2px;
				right: -2px;
				top: -2px;
				bottom: -2px;
			}
		}
	}

	// Small
	&.lg {

		.icon {
			width: 100px;
			height: 100px;
			line-height: 92px;
			font-size: 42px;
			border: 2px solid @theme-color1;

			&:after {
				left: -2px;
				right: -2px;
				top: -2px;
				bottom: -2px;
			}

			.entypo {
				font-size: 84px;
			}
		}
	}
	

	// Filled
	&.filled {

		.icon {
			color: #fff;
			background: @theme-color1;
			overflow: hidden;
			-webkit-mask-image: -webkit-radial-gradient(white, black);

			&:before {
				background: @theme-color1;
			}
			&:after {
				width: 50px;
				left: 50%;
				top: 0;
				bottom: 0;
				border-radius: 0;
				background: rgba(0,0,0,.08);
				z-index: 2;
				border-radius: 0 50% 50% 0;
			}

			i {
				z-index: 3;
			}
		}

		&.icon-box-animated-inverse {

			.icon {

				&:hover {

					&:after {
						.translate(100%, 0);
						.opacity(1);
					}
				}
			}
		}
	}
}




/*
// #Blockquotes & Testimonial
// --------------------------------------------------
*/

blockquote {
	padding: 26px 26px 26px 70px;
	margin: 0 0 25px 0;
	font-size: 14px;
	border-left: 4px solid @theme-color1;
	background: #f0f0f0;
	font-style: italic;
	position: relative;
	border-radius: 6px;
	.box-shadow(2px 3px 0 rgba(0,0,0,.08));

	& + cite {
		margin-top: -25px;
	}

	&:before {
		display: block;
		position: absolute;
		left: 24px;
		top: 0;
		font-size: 68px;
		color: @theme-color1;
		font-style: normal;
		font-weight: normal;
		line-height: 1;

		content:'\275E';
		font-family: 'EntypoRegular';
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
	}
}
	cite {
		text-align: left;
		display: inline-block;
		position: relative;
		float: right;
		padding: 20px 0 0 40px;
		color: @theme-color2;
		font-weight: bold;

		&:before {
			content:"—";
			margin-right: 4px;
		}
		&:after {
			content:"";
			display: block;
			position: absolute;
			left: 0;
			top: 0;
			width: 0;
			height: 0;
			border-left: 20px solid transparent;
			border-top: 20px solid #f0f0f0;
		}

		> span {
			color: #8f8f8f;
			display: block;
			font-weight: 300;
			padding-left: 16px;
			margin-top: -3px;
		}
	}
	
/* Testimonial */
.testimonial {
	position: relative;
	background: #fff;
	border: 2px solid @theme-color1;
	border-radius: 6px;

	@media (min-width: 992px) {
		margin: 0 0 0 100px;
	}

	blockquote {
		background: #fff;
		border: none;
		border-radius: 6px 6px 0 0;
		margin: 0;
		.box-shadow(none);

		&:before {
			color: #e0e0e0;
		}
	}

	&:before {
		content:"";
		display: block;
		position: absolute;
		top: 18px;
		left: -14px;
		width: 0;
		height: 0;
		border-top: 14px solid transparent;
		border-bottom: 14px solid transparent; 
		border-right:14px solid @theme-color1;
		z-index: 2;
	}
	&:after {
		content:"";
		display: block;
		position: absolute;
		top: 21px;
		left: -11px;
		width: 0;
		height: 0;
		border-top: 11px solid transparent;
		border-bottom: 11px solid transparent; 
		border-right:11px solid #fff;
		z-index: 3;
	}

	.bq-author {
		padding: 20px 20px 14px 24px;
		position: relative;
		background: @theme-color1;
		border-radius: 0 0 4px 4px;
		color: #fff;
		font-size: 12px;
		position: static;
		
		@media (min-width: 992px) {
			
		}

		.author-img {
			display: block;
			position: absolute;
			left: -100px;
			top: 0;

			> img {
				border-radius: 50%;
				border: 3px solid #e1e1e1;
			}
		}

		h6 {
			font-size: 13px;
			color: @theme-color2;
			margin-bottom: 0;
		}
		.bq-author-info {
			font-size: 12px;
		}
	}
}



/*
// #Alerts
// --------------------------------------------------
*/

.alert {
	padding: 20px 28px;
	border: 1px solid transparent;
	border-radius: 2px;
	font-size: 14px;
	position: relative;
}

.alert-dismissable {

	// Adjust close link position
	.close {
		position: absolute;
		font-size: 14px;
		right: 9px;
		top: 9px;
		color: #fff;
		width: 16px;
		height: 16px;
		line-height: 16px;
		text-align: center;
		border-radius: 2px;
		border: none;
		font-weight: normal;
		vertical-align: top;
		.opacity(1);
		.transition(.2s);

		&:hover {
			.opacity(.8);
		}

		.fa {
			display: block;
			margin: 0;
			vertical-align: top;
			line-height: 16px;
			position: relative;
			top: -1px;
		}
	}
}

.alert-success {
	.alert-variant(#e4fbe4; #bfe3bf; #55b155);

	.close {
		background: #bfe3bf;
	}
}
.alert-info {
 	.alert-variant(#dfeffe; #b1d5f6; #3d94e6);

 	.close {
		background: #b1d5f6;
	}
}
.alert-warning {
	.alert-variant(#faf8e8; #f3eab2; #d2b715);

	.close {
		background: #eada77;
	}
}
.alert-danger {
	.alert-variant(#fff5f5; #f8e6e6; #bb3737);

	.close {
		background: #e1b5b5;
	}
}




/*
// #Dropcaps
// --------------------------------------------------
*/
.dropcap {
	display: inline-block;
	float: left;
	margin-right: 20px;
	width: 60px;
	height: 60px;
	color: @theme-color1;
	text-align: center;
	font-size: 42px;
	line-height: 42px;
	line-height: 54px;
	font-weight: bold;

	&.dropcap__rounded {
		width: 58px;
		height: 58px;
		border: 3px solid @theme-color1;
		border-radius: 50%;
		background-color: #fff;
		color: @theme-color1;
		font-size: 30px;
		line-height: 50px;
	}
}




/*
// #Pricing Tables
// --------------------------------------------------
*/

/* Default */
.pricing-table {
	padding: 0 15px;

	@media (min-width: 992px) {
		padding: 20px 15px 20px 15px;
	}

	.plan {
		border: 1px solid #ebebeb;
		margin: 0 -16px 0 -15px;
		background: #fff;
		text-align: center;
		margin-bottom: 30px;

		@media (min-width: 992px) {
			margin-bottom: 0;
		}

		.pricing-head {
			padding: 0 0 24px 0;

			h3 {
				background: @theme-color2;
				line-height: 64px;
				margin: 0;
				color: #fff;
				position: relative;
				margin: -1px -1px 24px -1px;
				border: 1px solid #3f3f3f;
			}
			.price {
				font-size: 60px;
				display: block;
				line-height: 1em;
				color: @theme-color2;
				font-family: 'Lato', sans-serif;
				position: relative;
				padding: 0 0 0 20px;
				text-indent: -20px;

				sup {
					font-size: 18px;
					vertical-align: top;
					position: absolute;
					top: 0;
					margin: 14px 0 0 0;
				}
			}
			small {
				font-size: 14px;
				color: #ebebeb;
			}
		}

		.pricing-body {

			ul {
				.list-unstyled();
				border-bottom: 1px solid #ebebeb;
				margin-bottom: 0;

				> li {
					border-top: 1px solid #ebebeb;
					padding: 10px;

					&:nth-child(odd) {
						background: #f7f7f7;
					}
				}
			}
		}

		.pricing-footer {
			padding: 30px 10px;
		}


		// Popular
		&.popular {
			position: relative;
			z-index: 2;
			.box-shadow(0 3px 15px rgba(0,0,0,.12));

			.pricing-head {

				h3 {
					background: @theme-color1;
					font-size: 24px;
					line-height: 90px;
					border-color: @theme-color1;

					@media (min-width: 992px) {
						margin: -27px 0 24px 0;
					}
				}
			}
			.pricing-footer {

				@media (min-width: 992px) {
					padding: 40px 10px;
				}
			}
		}
	}
}

/* Style 2 */
.pricing-table__style2 {

	@media (min-width: 992px) {
		padding: 20px 0;
	}

	.plan {
		border-radius: 6px;
		margin: 0 0 30px 0;

		.pricing-head {

			.circled {
				position: relative;
				margin: 30px auto 40px auto;
				width: 120px;
				height: 120px;
				border-radius: 50%;
				background: @theme-color2;
				color: #fff;
				text-align: center;
				display: table;

				&:after {
					position: absolute;
					top: -10px;
					right: -10px;
					bottom: -10px;
					left: -10px;
					display: block;
					border-radius: 50%;
					background: @theme-color2;
					content:"";
					.opacity(.1);
					z-index: 1;
				}

				.circled-inner {
					position: relative;
					z-index: 2;
					display: table-cell;
					height: 100%;
					vertical-align: middle;
				}

				.price {
					color: #fff;
					font-size: 32px;
					line-height: 1em;
				}
				small {
					color: #fff;
				}
			}

			h3 {
				background: none;
				color: #2f2f2f;
				padding: 0;
				margin: 0;
				line-height: 1.2em;
				border: none;
			}
		}

		// Popular
		&.popular {
			.box-shadow(none);

			.pricing-head {

				.circled {
					background: @theme-color1;

					&:after {
						background: @theme-color1;
					}
				}

				h3 {
					background: none !important;
					line-height: 1.2em;
					font-size: 18px;
					border: none;
					color: @theme-color1;

					@media (min-width: 992px) {
						margin: 0;
					}
				}
			}
			.pricing-footer {

				@media (min-width: 992px) {
					padding: 30px 10px;
				}
			}
		}
	}
}


/* Style 3 */
.pricing-table__style3 {

	@media (min-width: 992px) {
		padding: 80px 0 20px 0;
	}

	.plan {
		border-radius: 6px;
		margin: 0 0 30px 0;

		.pricing-head {

			.circled {
				position: relative;
				margin: -70px auto 40px auto;
				width: 140px;
				height: 140px;
				border-radius: 50%;
				background: @theme-color1;
				color: #fff;
				text-align: center;
				display: table;
				border: 10px solid #fff;
				.box-shadow(0 0 0 1px rgba(0,0,0,.06));

				.circled-inner {
					position: relative;
					z-index: 2;
					display: table-cell;
					height: 100%;
					vertical-align: middle;
				}

				.price {
					color: #fff;
					font-size: 32px;
					line-height: 1em;
				}
				small {
					color: #fff;
				}
			}

			h3 {
				background: none;
				color: #2f2f2f;
				padding: 0;
				margin: 0;
				line-height: 1.2em;
				border: none;
			}
		}

		// Popular
		&.popular {
			.box-shadow(none);
			background: @theme-color1;

			.pricing-head {

				.circled {
					background: @theme-color2;
				}

				h3 {
					background: none !important;
					line-height: 1.2em;
					font-size: 18px;
					border: none;
					color: #fff;

					@media (min-width: 992px) {
						margin: 0;
					}
				}
			}
			.pricing-body {

				ul {
					border-bottom: 1px solid rgba(255,255,255,.1);

					> li {
						border-top: 1px solid rgba(255,255,255,.1);
						color: #fff;

						&:nth-child(odd) {
							background: rgba(0,0,0,.1);
						}
					}
				}
			}
			.pricing-footer {

				@media (min-width: 992px) {
					padding: 30px 10px;
				}
			}
		}
	}
}


/* Style 4 */
.pricing-table__style4 {
	
	@media (min-width: 992px) {
		padding: 20px 0;
	}

	.plan {
		border-radius: 6px;
		margin: 0 0 30px 0;

		.pricing-head {
			padding-bottom: 0;

			h3 {
				background: none;
				color: #2f2f2f;
				border: none;
				margin: 0;
			}
			.pricing-head-inner {
				background: @theme-color1;
				padding: 15px 10px;
			}

			.price {
				color: #fff;
				font-size: 32px;
				display: inline-block;
			}
			small {
				display: inline-block;
				color: #fff;
				margin-left: -8px;

				&:before {
					content:"/";
					display: inline-block;
					margin-right: 3px;
				}
			}
		}

		// Popular
		&.popular {
			.box-shadow(none);
			background: @theme-color1;

			.pricing-head {

				h3 {
					background: @theme-color1;
					font-size: 18px;
					line-height: 64px;
					border: none;
					color: #fff;
					border-radius: 6px 6px 0 0;

					@media (min-width: 992px) {
						margin: 0;
					}
				}

				.pricing-head-inner {
					background: #fff;
				}

				.price {
					color: @theme-color2;
				}
				small {
					color: @theme-color2;
				}
			}
			.pricing-body {

				ul {
					border-bottom: 1px solid rgba(255,255,255,.1);

					> li {
						border-top: 1px solid rgba(255,255,255,.1);
						color: #fff;

						&:nth-child(odd) {
							background: rgba(0,0,0,.1);
						}
					}
				}
			}
			.pricing-footer {

				@media (min-width: 992px) {
					padding: 30px 10px;
				}
			}
		}
	}
}




/*
// #Progress Bars
// --------------------------------------------------
*/
.progress {
	height: 36px;
	padding: 2px;
	margin-bottom: 16px;
	background: #ebebeb;
	.box-shadow(none);
}

// Mixin for generating new styles
.progress-bar-styles(@color) {
	line-height: 32px;
	height: 32px;
	overflow: hidden;
	position: relative;
	text-align: right;
	padding: 0 20px;
	background: @color;
	border-radius: 4px 0 0 4px;
	.box-shadow(none);
}

// Apply the mixin to the progress bars
.progress-bar            { .progress-bar-styles(#00adef); }
.progress-bar-success    { .progress-bar-styles(@theme-color1); }
.progress-bar-info       { .progress-bar-styles(#73c9e3); }
.progress-bar-warning    { .progress-bar-styles(#fcbe5c); }
.progress-bar-danger     { .progress-bar-styles(#d9534f); }

.progress-label {
	font-size: 14px;
	color: #fff;
	font-family: 'Lato', sans-serif;
	float: left;
}

h6 + .progress {
	margin-top: -8px;
}



/*
// #Misc
// --------------------------------------------------
*/
hr {
	border-top-color: #ebebeb;

	&.lg {
		margin: 60px 0;
	}
	&.no-top-margin {
		margin-top: 0;
	}
}

/* Spacers */
.spacer {
	height: 20px;
	overflow: hidden;
}
.spacer-sm {
	height: 10px;
	overflow: hidden;
}
.spacer-lg {
	height: 40px;
	overflow: hidden;
}
.spacer-xl {
	height: 60px;
	overflow: hidden;
}
.spacer-xxl {
	height: 80px;
	overflow: hidden;
}

/* Bordered Column */
.col-bordered {
	position: relative;

	&:before {
		width: 1px;
		background: #eee;
		content:"";
		display: none;
		position: absolute;
		top: 0;
		bottom: 0;

		@media (min-width: 992px) {
			display: block;
			left: -39px;
		}
	}

	&[class*="col-md-pull"]:before {

		@media (min-width: 992px) {
			right: -39px;
			left: auto;
		}
	}
}

/* Back To Top */
#back-top {
	position: absolute;
	top: -20px;
	left: 50%;
	margin: 0;
	z-index: 99;

	a {
		width: 40px;
		height: 40px;
		display: block;
		text-align: center;
		text-decoration: none;
		color: #fff;

		.fa {
			width: 40px;
			height: 40px;
			line-height: 54px;
			display: block;
			font-size: 14px;
			background: @theme-color2;
			border-radius: 50%;
			.transition(.2s);
		}

		&:hover {
			color: @theme-color2;

			.fa {
				line-height: 40px;
				background-color: #f4f4f4;
			}
		}
	}
}

/* Helpers */
.animation {
	opacity: 0;
}
.animation-visible {
	opacity: 1;
}

.animated,
.animation {
	-webkit-animation-fill-mode: both;
	-moz-animation-fill-mode: both;
	-ms-animation-fill-mode: both;
	-o-animation-fill-mode: both;
	animation-fill-mode: both;
	.animation-duration(1s);
}

// Demo
.fontawesome-icon-list {

	[class*="col-md-"] {
		margin-bottom: 10px;
	}

	.fa {
		width: 32px;
		text-align: right;
		font-size: 14px;
		margin-right: 10px;
		color: @theme-color2;
	}
}

.entypo-icon-list {

	[class*="col-md-"] {
		margin-bottom: 10px;
		.text-overflow();
	}

	.entypo,
	.entypo-social {
		width: 32px;
		text-align: right;
		font-size: 28px;
		margin-right: 10px;
		color: @theme-color2;
	}
}

@import "mixins.less";